// middlewares/authMiddleware.js
const jwt = require('jsonwebtoken');
require('dotenv').config();
const secretKey = process.env.SECRET_KEY;

function authenticateToken(req, res, next) {
    const token = req.headers.authorization; // 从请求头获取 token
    if (token == null) return res.status(401).send({error: '未提供令牌'}); // 如果没有 token
    jwt.verify(token, secretKey, (err, user) => {
        if (err) return res.status(403).send({error: '无效的令牌'}); // 如果 token 无效
        req.user = user; // 将解码后的用户信息添加到请求中
        next(); // 继续处理请求
    });
}

module.exports = authenticateToken;
